tg-me.com/dsproglib/6423
Last Update:
Сегодня делимся полезной фишкой из библиотеки pandas — метод .pipe()
для создания чистых и читаемых цепочек обработки данных.
import pandas as pd
# Пример: очистка и преобразование данных в одну цепочку
def clean_data(df):
return df.dropna().reset_index(drop=True)
def add_age_group(df):
df['age_group'] = pd.cut(df['age'], bins=[0, 18, 35, 60, 100], labels=['Kid', 'Young', 'Adult', 'Senior'])
return df
# Используем pipe для последовательной обработки
df = (pd.read_csv('data.csv')
.pipe(clean_data)
.pipe(add_age_group))
Зачем это нужно:
.pipe()
позволяет организовать преобразования данных в логическую цепочку, улучшая читаемость кодаПример в деле:
def normalize_column(df, col):
df[col] = (df[col] - df[col].mean()) / df[col].std()
return df
df = (pd.DataFrame({'value': [10, 20, 30, 40]})
.pipe(normalize_column, col='value'))
Библиотека дата-сайентиста #буст